Skip to main content

9-dars. Loop operatorlari (while)

Dars Maqsadlari:

  • while loop operatorining vazifasi va ishlatilishini tushunish.
  • break va continue operatorlarining while loop ichida qanday ishlashini ko'rish.
  • Cheksiz aylanishni tushunish va uning oqibatlari haqida gapirish.
  • goto Operatorini o’rganish

Kirish

Bugun biz dasturlashda loop operatorlaridan biri — while loop haqida gaplashamiz. while loop dasturlashda ma'lum bir shart bajarilguncha kodni takrorlash imkonini beradi. Ushbu ma'ruzada biz shuningdek, break, continue, va cheksiz aylanish (infinite loop) haqida ham gaplashamiz. Keling, buni boshlaylik!


while Loop Nima?

while loop dasturlashda ma'lum bir shart bajarilguncha kodni takrorlash imkonini beradi. Ushbu loopning asosiy tuzilishi quyidagicha:

while (shart) {
// bajariladigan kod
}

Misol: Agar biz 1 dan 5 gacha raqamlarni chiqarishimiz kerak bo'lsa, buni while loop orqali amalga oshirishimiz mumkin:

#include <stdio.h>

int main() {
int i = 1; // Dastlabki raqam
while (i <= 5) {
printf("%d\n", i);
i++; // Raqamni oshirish
}
return 0;
}

Natija: Ekranda quyidagilar chiqadi:

1
2
3
4
5

break Operatorining while Loop Ichida Ishlatilishi

break operatori while loopni to'xtatish uchun ishlatiladi. Agar shart bajarilganda biz loopni to'xtatmoqchi bo'lsak, break ni qo'llashimiz mumkin.

Misol

Tasavvur qiling, siz 10 raqamga qadar raqamlar chiqarmoqchisiz, lekin raqam 5 ga yetganda loopni to'xtatish kerak. Buni quyidagi tarzda amalga oshirishimiz mumkin:

#include <stdio.h>

int main() {
int i = 1;
while (i <= 10) {
if (i == 5) {
printf("5 topildi! Sikl to'xtatiladi.\n");
break; // Siklni to'xtatish
}
printf("%d\n", i);
i++;
}
return 0;
}

Natija: Ekranda quyidagilar chiqadi:

1
2
3
4
5 topildi! Sikl to'xtatiladi.

break operatori kodni to'xtatishda juda foydali. U dasturchilarga kerakli joyda to'xtab turish imkonini beradi!


continue Operatorining while Loop Ichida Ishlatilishi

continue operatori while loopning joriy iteratsiyasini o‘tkazib yuborish uchun ishlatiladi. Agar siz joriy iteratsiyani o‘tkazib yuborib, siklni davom ettirmoqchi bo'lsangiz, continue operatoridan foydalanasiz.

Misol

Tasavvur qiling, siz 10 ta raqamdan faqat juft raqamlarni chop etmoqchisiz. Agar raqam toq bo'lsa, continue yordamida ularni o‘tkazib yuborishingiz mumkin:

#include <stdio.h>

int main() {
int i = 1;
while (i <= 10) {
if (i % 2 != 0) {
i++; // Raqamni oshirish
continue; // Toq raqamlarni o'tkazib yuborish
}
printf("%d juft raqam.\n", i);
i++;
}
return 0;
}

Natija: Ekranda quyidagilar chiqadi:

2 juft raqam.
4 juft raqam.
6 juft raqam.
8 juft raqam.
10 juft raqam.

Cheksiz Aylanish (Infinite Loop)

Cheksiz aylanish, ya'ni infinite loop, while loopning sharti hech qachon false bo'lmaganida yuz beradi. Bu holatda loop doimiy ravishda takrorlanadi va dastur tugamaydi.

Misol

Quyidagi kodda cheksiz aylanish yuz beradi:

#include <stdio.h>

int main() {
while (1) { // 1 har doim true
printf("Bu cheksiz aylanish!\n");
}
return 0;
}

Bu kod doimiy ravishda "Bu cheksiz aylanish!" deb chop etadi.

Cheksiz aylanish dasturchilar uchun tahdid bo'lishi mumkin. Bunday holatlarda resurslar isrof bo'ladi va dastur xatolikka olib kelishi mumkin.


goto Operatori

goto operatori dasturda to'g'ridan-to'g'ri berilgan joyga o'tish imkonini beradi. Bu operatorni ehtiyotkorlik bilan ishlatish kerak, chunki noto'g'ri ishlatilganda kodning tushunarsiz va murakkab bo'lishiga olib kelishi mumkin.

Misol

Tasavvur qiling, sizga dasturda bir joydan boshqa joyga o'tish kerak. Misol:

#include <stdio.h>

int main() {
printf("Siz dasturga kiryapsiz.\n");
goto skip; // 'skip' ga o'tish

printf("Bu qism bajarilmaydi.\n");

skip:
printf("Siz 'skip' ga o'tdingiz!\n");
return 0;
}

Natija: Ekranda "Siz dasturga kiryapsiz." va "Siz 'skip' ga o'tdingiz!" chiqadi.

goto operatori dasturiy ta'minotda ba'zan yordam beradi, ammo to'g'ri ishlatilmasa, kodning tartibsizligiga olib kelishi mumkin.


Xulosa

Bugun biz while loop, break, continue, goto va cheksiz aylanish haqida o'rgandik. Ushbu tushunchalar dasturlashda muhim ahamiyatga ega va ularni yaxshi bilish dasturchi sifatida muvaffaqiyatli bo'lishingizda yordam beradi.